package gestor;

import java.io.File;

import javax.swing.JFileChooser;

import sintactico.AnalizadorSintactico;


public class Gestor {
/*Atributos*/
	
/*Contructora*/
	public Gestor(){};
	
/*Metodos*/
	
	
	 
	public void errorLlamada()
	{
		System.out.println("Error en el paso de argumentos, debe ser: java -jar compila.jar <fuente.src> <compilado.cmp>" +
				", la llamada se debe efectuar desde el mismo directorio donde se encuentre el archivo");
		System.exit(-1);
	}
	
	public void compilar(String fuente, String compilado) 
	{
		if((fuente.endsWith(".src")) &&(compilado.endsWith(".cmp")))
		{
			//llamada a la lectura del archivo .src, guardar el codigo compilado en el .cmp
			AnalizadorSintactico as = new AnalizadorSintactico();
			as.calcula(fuente);
			as.crearFichCompilado(compilado);	
			System.out.println("Fin compilacion");
		}else this.errorLlamada();

	}
	
//*METODO MAIN
	public static void main(String[]args)
	{	
		// Comprobacion de que el n�mero de argumentos de la l�nea de orden es correcto
		Gestor inicial = new Gestor();
		if (args.length!=2) inicial.errorLlamada();
		System.out.println(args[0]+args[1]);
		
		File entrada = new File(args[0]);
		System.out.println("entrada: "+entrada);
		String fuente=entrada.getAbsolutePath();
		System.out.println(fuente);
		
		File salida = new File(args[1]);
		System.out.println("salida: "+salida);
		String compilado=salida.getAbsolutePath();
		System.out.println(compilado);
		
		
		inicial.compilar(fuente, compilado);
	}
	
	 
	
	
	
}
	
